hmPython3 (秀丸マクロ用 スクリプト via Python)
概要
秀丸マクロで「Pythonを秀丸マクロとしてシームレスに近い形で利用する」ためのライブラリとなります。
秀丸のインプロセスで動作するため、秀丸の「組み込み言語」として動作します。
このため、hmPython3では、Pythonと秀丸マクロとの「値のやりとり」や、
「Pythonの中で秀丸マクロを実行」や「秀丸マクロの中でPythonを実行」をすることが、
とても簡単になっています。
-
Python
Pythonは「データ分析」「機械学習・AI学習」「コンピュータグラフィック」 「データ収集系のWeb API」
「システムの稼働テストプログラム」など、
Webに偏らないスクリプト言語であり、見通しが良いスクリプト記述となる傾向があるため、
「多目的な汎用スクリプト」としては、世界で他のスクリプト言語の追随を許さないほどの利用シェアを誇っています。
-
hmPython3は最もスタンダードなPythonを秀丸用言語として組み込む
hmPython3は、www.python.orgで配布している最もスタンダードなpythonを秀丸に組み入れます。
-
2020年からはIT国家試験・情報処理試験の選択言語
2020年春 からは現場での利用率が減少してきているCOBOLが、選択対象から廃止され、
C言語、JAVA言語とならび、Python言語が採用されました。
国内においても、ますますPythonの利用率は高まっていくことでしょう。
-
Python の文法概要
https://docs.python.org/ja/3/にPython文法のうち主要なものが日本語で解説されています。
ダウンロード
インストール
- hmPython3_setup_x86.msi(or x64.msi)をダウンロードする。
-
ダウンロードした hmPython3_setup_x86.msi(or x64.msi) を実行。
インストール先は、「必ず秀丸があるフォルダ(hidemaru.exeがあるフォルダ)と同じフォルダにする必要があります。
サブフォルダや別フォルダでは動作しません。
-
インストールすると、
秀丸直下に「hmPython3.dll」「hmPython.py」「python39.dll」がコピーされます。
又、「HmPython3というサブフォルダ」が出来上がり、
その中にpythonインタプリタが「フルライブラリ」込みでまるまる配置
されます。
ソース例
- (DoString関数の中身の記述は)Pythonで動作するソースは原則的には動作します。
- Python内から秀丸マクロが実行可能です。
- Pythonと秀丸マクロとの変数のやり取りも、Pythonで記述します。
-
.mac1つのファイルに埋め込んだ場合
HTMLにJavaScriptを埋め込むような感覚で、秀丸マクロにPythonを文字列として埋め込むことが出来ます。
複数個所に埋め込んでも、記述の内容は持続性を持っています。
又、HTMLに対するJavaScript同様に、中に埋め込むのではなく、別ファイルとして記述してもかまいません。
-
.macと.pyの2つのファイルに分けた場合
特に支障がなければ、マクロとは別ファイルに記述するのを推奨します。
エラーの行やファイルの位置がわかりやすくなります。
from hmPython import *
from hmPython import hm
ではなく、
from hmPython import *
後者を記述すると、秀丸エディタのマクロの関数・文・キーのほとんどが、pythonの関数としてインポートされます
秀丸エディタ 9.19以降だと...
以下のように、"""""を使ってソースを挟むことで、少し見やすくすることも出来ます。
特徴
-
インプロセスで動作する!!
これまで秀丸マクロライブラリなどに、よくあがっていたPythonが実行可能と称していたマクロは、
「別途インタプリタが別プロセスとして実行され、その実行結果を表示します」
といったものが大半でした。
(例えば、別途Pythonインタプリタが入っていれば、それを別プロセスとして呼び出し、解釈し、結果をアウトプット枠に表示します、など)
しかし、このhmPython3は違います!!
「秀丸マクロと同じプロセス空間」で動作し、秀丸のマクロ変数とも自由にやり取り出来ますので、ガッチリ秀丸と完全連携しています。
秀丸エディタ ストアアプリ版について
hmPython3はストアアプリ版には本来対応していませんが、
特別に設定をすれば、利用する方法を確保しています。
詳細は左メニューのストアアプリ版での利用などを参照してください。
hmPython3とは別にhmPyもある
このhmPythonとは別に、「.NET」が利用可能な「IronPython」で記述する「hmPy」もあります、
既存資産やライブラリに関する知識、制作目的に応じて、選択してください。
又、hmPython3とhmPyを1つのマクロで同時に利用することも可能です。
|